home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-08-18 | 561 b | 22 lines | [TEXT/R*ch] |
- {
- open Parser; (* The token type is defined in Parser.sig *)
-
- val intOfString = valOf o Int.fromString;
-
- }
-
- rule Token = parse
- [` ` `\t`] { Token lexbuf } (* skip blanks *)
- | [`\n` ] { EOL }
- | [`0`-`9`]+ { INT(intOfString (getLexeme lexbuf)) }
- | `+` { PLUS }
- | `-` { MINUS }
- | `*` { TIMES }
- | `/` { DIV }
- | `(` { LPAREN }
- | `)` { RPAREN }
- | `~` { UMINUS }
- | eof { EOF }
- | _ { raise Fail "illegal symbol" }
- ;
-